package main

import (
	"fmt"
)

func main2() {
	//切片： 动态数组，切片可以从数组或已经存在的切片中切取内容
	a1 := [5]int{1, 2, 3, 4, 5}
	fmt.Println(a1)
	//定义切片 array[start:end]==> [start, end)== [start,end-1]
	s1 := a1[2:4]
	fmt.Println(s1)
	s1 = append(s1, 100)
	fmt.Println(s1)
	fmt.Println(a1) //s1 与a1在同一地址，s1被修改，a1也受影响
	s1 = append(s1, 222)
	fmt.Println(s1)
	fmt.Println(a1)
}

func main() {
	//切片： 动态数组，切片可以从数组或已经存在的切片中切取内容
	a1 := [5]int{1, 2, 3, 4, 5}
	fmt.Println(a1)
	//定义切片 array[start:end]==> [start, end)== [start,end-1]
	s1 := a1[2:4]
	fmt.Println(s1)
	fmt.Println(len(s1), cap(s1))
	s1 = append(s1, 100, 1000, 10000)
	fmt.Println(s1)
	fmt.Println(a1) //s1与a1不在同一地址，彼此不影响
	//切片内部有两个属性，元素个数 len，元素容量 cap
	fmt.Println(len(s1), cap(s1))

}
